iT邦幫忙

2024 iThome 鐵人賽

DAY 4
0

今天來簡單觀察下Websocket的連接與一般的http式的差別(採用fetch方式)

如何觀察

既然要觀察還是說一下觀察方式好了,簡單一點就是打開網站後開啟【檢視】模式(F12)

然後在上方切換到Network
https://ithelp.ithome.com.tw/upload/images/20240903/20162004kBJXs4Tq4f.png

切好後下面就可查看通訊的狀況囉

觀察

運用上篇的server來觀察,直接打開你可以看到
https://ithelp.ithome.com.tw/upload/images/20240903/20162004eKnCgFfZvN.png

如果沒有看到可以先把檢視調到Network後再重整頁面

之後在原本的index.html與js上添加

//html
<button id="send">send</button>
///js
let send = document.getElementById("send");
send.addEventListener("click", () => {
                ws.send("Hi!");
            });

你一直點擊按鈕可發現怎麼call他都不會再次產生新的連接,這其實也是說明了Websocket握手後,就會一直持續交握了

我們換成fetch就會很敏感

html部分新增
<button id="fetchDataBtn">Fetch Data</button>
<pre id="result"></pre>

js部分新增
document.getElementById('fetchDataBtn').addEventListener('click', () => {
    fetch('https://jsonplaceholder.typicode.com/posts/1')
        .then(response => {
            if (!response.ok) {
                throw new Error('Network response was not ok ' + response.statusText);
                    }
                    return response.json();
                })
        .then(data => {
            document.getElementById('result').textContent = JSON.stringify(data, null, 2);
                })
        .catch(error => {
            document.getElementById('result').textContent = 'Fetch error: ' + error.message;
                });
        });

之後打開Network後點擊btn
https://ithelp.ithome.com.tw/upload/images/20240903/20162004dQyFj6UWPE.png
每點一次就會有一條fetch的連接,兩者觀察起來就很有區別了吧

這裡有點小水一下,下篇會認真觀察Websocket的流程


上一篇
[day3]WebSocket建立
下一篇
[day5]觀察WebSocket運作流程
系列文
雙向奔赴的websocket與冰冷的react30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言